home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-03 | 4.3 KB | 147 lines | [TEXT/MPS ] |
- //----------------------------------------------------------------------------------------
- // UGrabberTracker.cp
- // Copyright © 1988-96 by Apple Computer, Inc. All rights reserved.
- //----------------------------------------------------------------------------------------
-
- #ifndef __UGRABBERTRACKER__
- #include "UGrabberTracker.h"
- #endif
-
- // MacApp
-
- #ifndef __UDOCUMENT__
- #include "UDocument.h"
- #endif
-
- #ifndef __UGEOMETRY__
- #include "UGeometry.h"
- #endif
-
- #ifndef __UMACAPPUTILITIES__
- #include "UMacAppUtilities.h"
- #endif
-
- #ifndef __USCROLLER__
- #include "UScroller.h"
- #endif
-
-
-
- //========================================================================================
- // CLASS TGrabberTracker
- //========================================================================================
- #undef Inherited
- #define Inherited TTracker
-
- #pragma segment GrabberDoCommand
- MA_DEFINE_CLASS_M1(TGrabberTracker, Inherited);
-
- //----------------------------------------------------------------------------------------
- // TGrabberTracker::TGrabberTracker: Empty constructor to satisfy the compiler.
- //----------------------------------------------------------------------------------------
- #pragma segment ConstructorRes
-
- TGrabberTracker::TGrabberTracker()
- {
- } // TGrabberTracker::TGrabberTracker
-
- //----------------------------------------------------------------------------------------
- // TGrabberTracker destructor
- //----------------------------------------------------------------------------------------
- #pragma segment MADestructorRes
-
- TGrabberTracker::~TGrabberTracker()
- {
- }
-
- //----------------------------------------------------------------------------------------
- // TGrabberTracker::IGrabberTracker:
- //----------------------------------------------------------------------------------------
- #pragma segment GrabberDoCommand
-
- void TGrabberTracker::IGrabberTracker(CommandNumber itsCommandNumber,
- TDocument* itsDocument,
- TView* itsView,
- TScroller* itsScroller,
- const VPoint& itsMouse)
-
- {
- this->ITracker(itsCommandNumber, itsDocument, kCantUndo, kDoesNotCauseChange, itsDocument,
- itsView, itsScroller, itsMouse);
- } // TGrabberTracker::IGrabberTracker
-
- //----------------------------------------------------------------------------------------
- // TGrabberTracker::TrackMouse:
- //----------------------------------------------------------------------------------------
- #pragma segment GrabberDoCommand
-
- TTracker* TGrabberTracker::TrackMouse(TrackPhase aTrackPhase,
- VPoint& anchorPoint,
- VPoint& previousPoint,
- VPoint& nextPoint,
- Boolean mouseDidMove)// override
-
- {
- switch (aTrackPhase)
- {
- case trackBegin:
- break;
-
- case trackContinue:
- if (mouseDidMove)
- {
- VPoint delta = - fScroller->fTranslation;
-
- delta.ConstrainTo(VRect(anchorPoint - nextPoint, fScroller->fMaxTranslation - fScroller->fTranslation));
-
- if (delta != gZeroVPt)
- {
- fScroller->ScrollBy(delta, TRUE);
- fScroller->Update();
- }
-
- nextPoint += delta;
-
- previousPoint = nextPoint;
- anchorPoint = nextPoint;
- }
- break;
-
- case trackEnd:
- break;
- } // switch
- return this; // keep tracking with me
- } // TGrabberTracker::TrackMouse
-
- //----------------------------------------------------------------------------------------
- // TGrabberTracker::TrackFeedback:
- //----------------------------------------------------------------------------------------
- #pragma segment GrabberDoCommand
-
- void TGrabberTracker::TrackFeedback(TrackPhase /* aTrackPhase */,
- const VPoint& /* anchorPoint */,
- const VPoint& /* previousPoint */,
- const VPoint& /* nextPoint */,
- Boolean /* mouseDidMove */,
- Boolean /* turnItOn */)// override
-
- {
- // NO feedback please
- } // TGrabberTracker::TrackFeedback
-
- //----------------------------------------------------------------------------------------
- // TGrabberTracker::AutoScroll:
- //----------------------------------------------------------------------------------------
- #pragma segment GrabberDoCommand
-
- void TGrabberTracker::AutoScroll(const VPoint& /* delta */)// override
-
- {
- // NO AutoScroll please
- } // TGrabberTracker::AutoScroll
-
- //----------------------------------------------------------------------------------------
- // End of UGrabberTracker.cp
-
- #pragma segment Inline
-